import DialogMapComponent from './index.vue';
import { createVNode, render } from 'vue';
const box_id = 'dialog-map-box';
const container = document.createElement('div');
container.id = box_id;

/**
 * 函数式调用 打开地图
 * @param data
 * @param data.type 打开地图后操作类型 point 点位展示 dot 打点
 * @param data.position 点位展示必填
 * @param data.dotSuccess 打点成功回调
 */
export default function createDialogMap(data: {
	type: 'point' | 'dot';
	position?: number[];
	dotSuccess?: (val: { address: string; lng: number; lat: number; adcode: string }) => void;
}) {
	const vNode = createVNode(DialogMapComponent, data);
	render(vNode, container);

	if (document.querySelector('#dialog-map')) {
		vNode.component?.exposed?.open();
	} else {
		if (container.firstElementChild) document.body.appendChild(container.firstElementChild);
	}
}
